In recent years, it is becoming common practice to write client applications of rich quality (i.e., web applications) with the use of web markup languages such as the hypertext markup language (HTML) or the Java (registered trademark) Script. A web application points to an application software that performs communication of computer programs or data via a network. Even when an application is configured to be executable for a lone client, as long as it is possible to communicate some or all of the computer programs and data of that application via a network, the application is called a web application. With such technology advancement, the applications executed in information processing apparatuses such as digital televisions, slate computers, or smartphones are also written in the form of web applications. For example, in Internet protocol televisions (IPTVs) that are a type of digital televisions, standards have already been developed for displaying menu screens or video replay screens with the use of the web application technology.
A web application is executed in a browser-based runtime environment that is capable of interpreting the HTML or the Java (registered trademark) Script. Generally, a web application is made of a plurality of page files and media files. A media file points to a file for storing dynamic image data in the JPEG format (JPEG stands for Joint Photographic Experts Group), the GIF (which stands for graphics interface format), the MPEG format (MPEG stands for Moving Picture Experts Group), or the like; or points to a file for storing audio data in the MP3 format (MP3 stands for MPEG-1 Audio Layer 3) or the like. A page file points to a file that contains description regarding sentence structures, screen display methods, or screen transitions. More particularly, a page file contains page display information such as display character string data, contains text decoration information such as colors or size of characters, and contains arrangement information indicating the arrangement of images. Besides, a page file may also store therein control programs written in the Java (registered trademark) Script. However, alternatively, the control programs written in the Java (registered trademark) Script may also be provided as independent files.
In the arrangement information specified in a page file, there is a button (link) provided to enable display and running of another page file. The link contains the URL information of that other page file. During the execution of a web application, if that button is selected in response to a user request, then the browser issues a download request regarding a new page corresponding to that button. As soon as the necessary files including media files to be used in that new page file are ready, the browser starts to display and run the new page file. The new page file that is displayed and run may belong to the same application to which the previously displayed and run page file belonged, or may belong to a different web application.
When a new file is displayed and run, it is often easy for the human eye to identify whether or not the previous web application has changed to a different web application. However, as far as the browser operations are concerned, there is no difference between running page files of the same application and running page files of a different web application. Hence, it is difficult to mechanically detect a switchover among web applications.
Meanwhile, functions that cannot be achieved using only the specifications of the HTML or the Java (registered trademark) Script can be implemented as software. In that case, the software components that are made available for use from the HTML or the Java (registered trademark) Script are called extended add-ons or plug-ins. In web applications, it is now common practice to make use of add-ons. The basic functions of a browser include, for example, a simple image display function or a simple character display function, a character string handling function, and a numerical processing function. However, as basic functions, the browser is not equipped with functions such as a video replay function and a local file access function compliant to the digital living network alliance (DLNA) standard, or not equipped with functions such as a channel switching function and a volume changing function for digital televisions. Thus, only the abovementioned basic functions of a browser lead to narrowing of the scope of potential applications. For that reason, in digital televisions, functions that cannot be achieved with the basic functions of a browser are implemented in the form of add-ons; and such add-ons are made callable from the HTML or the Java (registered trademark) Script. A prominent example of an add-on is Flash Player offered by Adobe Systems.
Add-ons are often written in, what is called, the native code; and also have a high degree of freedom as far as the implementable functions are concerned. Hence, for security reasons, there often arises a need to limit the applications in which a particular add-on is to be used. More particularly, in the case of providing the local file access function as an add-on, it carries a risk of leakage of the user information or deletion/tampering of local files. Thus, the local file access function needs to be made available only in specific web applications that have a limited runtime environment.
However, as described above, until now, it has been difficult to mechanically detect a switchover among web applications. As a result, it is difficult to implement separate security policies for separate web applications. For example, it is difficult to limit the usable add-ons in units of web applications.